package kgame5.k3d.core.render {
import flash.utils.getTimer;

/**
 * @author kk
 * 统计数据
 */
public class StatiData {
	
	public var time:int;//引擎执行的总时间
	private var _startMS:int;
	
	public var blankTime:int;//上次引擎执行完毕，到这次引擎开始执行的时间间隔
	private var _lastMS:int;
	
	public var sortNodeTime:int;//排序Node3D需要的时间
	public var projectTime:int;//顶点投影运算的时间
	public var faceUpdateTime:int;//所有的face3D执行update的时间
	public var sortFaceTime:int;//所有的三脚面排序的时间
	public var drawTime:int;//画三脚面需要的时间
	
	public var renderMeshCount:int;//执行render的次数
	
	public var faceCount:int;//三角面的数量
	public var vertexCount:int;//顶点数量
	public var renderedFaceCount:int;//渲染的数量
	
	public function start():void{
		
		_startMS=getTimer();
		
		blankTime=getTimer()-_lastMS;
		
		sortNodeTime=0;//排序Node3D需要的时间
		projectTime=0;//顶点投影运算的时间
		faceUpdateTime=0;//所有的face3D执行update的时间
		sortFaceTime=0;//所有的三脚面排序的时间
		drawTime=0;//画三脚面需要的时间
		
		renderMeshCount=0;//执行render的次数
		faceCount=0;//三角面的数量
		vertexCount=0;//顶点数量
		renderedFaceCount=0;//渲染的数量
	}
	public function end():void{
		time=getTimer()-_startMS;
		_lastMS=getTimer();
	}
	
	public function toString():String{
		return "引擎执行的总时间:"+time
		+"\n"+"三角面(渲染数/总数）:"+renderedFaceCount+"/"+ faceCount
		+"\n"+"顶点数量:"+vertexCount
		+"\n"+"执行render的次数:"+renderMeshCount
		+"\n"
		+"\n"+"引擎间隔时间:"+blankTime
		+"\n"+"排序Node3D时间:"+sortNodeTime
		+"\n"+"顶点投影时间:"+projectTime
		+"\n"+"所有face3D.update时间:"+faceUpdateTime
		+"\n"+"所有face3D排序时间:"+sortFaceTime
		+"\n"+"画三角面时间:"+drawTime;
	}
}
}
